19  CH and Sickle Cell Disease

# Create a data frame comparing the three key studies
scd_ch_studies <- data.frame(
  Study = c("Liggett et al. (2022)", "Pincez et al. (2021)", "Spencer Chapman et al. (2023)"),
  Cohort_Size = c("74,190 (3,090 SCD, 71,100 controls)", "8,307 (1,459 SCD, 6,848 controls)", "6 SCD patients (pre/post gene therapy)"),
  Method = c("Whole-genome sequencing (WGS)", "Whole-exome sequencing (WES)", "Whole-genome sequencing (WGS)"),
  CH_Detection_Threshold = c("VAF >10% (partially assessed 5-10%)", "VAF 2.5-26% (median 7%)", "Various, tracking HSCs pre/post therapy"),
  Primary_Finding = c("No significant difference in CH prevalence", "Higher CH prevalence in SCD despite younger cohort", "Increased frequency of driver mutations post-therapy"),
  Implication = c("CH may not be major driver of SCD cancer risk", "CH could contribute to increased leukemia risk", "Gene therapy may amplify existing CH clones")
)

# Load necessary libraries
library(knitr)
library(kableExtra)

# Create a formatted table
scd_ch_table <- kable(scd_ch_studies, format = "html", 
                      caption = "Comparison of Key Studies on Clonal Hematopoiesis in Sickle Cell Disease") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), 
                full_width = TRUE) %>%
  column_spec(1, bold = TRUE) %>%
  column_spec(5, width = "20em")

# Display the table
scd_ch_table
Comparison of Key Studies on Clonal Hematopoiesis in Sickle Cell Disease
Study Cohort_Size Method CH_Detection_Threshold Primary_Finding Implication
Liggett et al. (2022) 74,190 (3,090 SCD, 71,100 controls) Whole-genome sequencing (WGS) VAF >10% (partially assessed 5-10%) No significant difference in CH prevalence CH may not be major driver of SCD cancer risk
Pincez et al. (2021) 8,307 (1,459 SCD, 6,848 controls) Whole-exome sequencing (WES) VAF 2.5-26% (median 7%) Higher CH prevalence in SCD despite younger cohort CH could contribute to increased leukemia risk
Spencer Chapman et al. (2023) 6 SCD patients (pre/post gene therapy) Whole-genome sequencing (WGS) Various, tracking HSCs pre/post therapy Increased frequency of driver mutations post-therapy Gene therapy may amplify existing CH clones
# Additional visualization of cohort characteristics
library(ggplot2)

# Creating a summary of cohort ages for visualization
cohort_ages <- data.frame(
  Study = c("Liggett", "Liggett", "Pincez", "Pincez"),
  Group = c("SCD", "Controls", "SCD", "Controls"),
  Mean_Age = c(NA, NA, 23.6, 50.1),  # Liggett didn't specify exact mean ages
  Age_Range = c("Up to 70 years", "Up to 70 years", "Younger cohort", "Older cohort")
)

# Create ggplot visualization
age_plot <- ggplot(data = cohort_ages, aes(x = Study, y = Mean_Age, fill = Group)) +
  geom_bar(stat = "identity", position = position_dodge()) +
  labs(title = "Mean Age Comparison Between Studies",
       y = "Mean Age (years)",
       caption = "Note: Exact means for Liggett et al. not specified; broad age range reported") +
  theme_minimal()

# Display the plot
# Note: This would be rendered in an actual R environment

19.1 SCD Gene therapies

# Load necessary libraries
library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.2.1     ✔ readr     2.2.0
✔ forcats   1.0.1     ✔ stringr   1.6.0
✔ lubridate 1.9.5     ✔ tibble    3.3.1
✔ purrr     1.2.2     ✔ tidyr     1.3.2
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter()     masks stats::filter()
✖ dplyr::group_rows() masks kableExtra::group_rows()
✖ dplyr::lag()        masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(kableExtra)
library(gt)

# Create data frame of FDA-approved gene therapies for SCD
scd_gene_therapies <- data.frame(
  Therapy_Name = c("Casgevy (exagamglogene autotemcel)", "Lyfgenia (lovotibeglogene autotemcel)"),
  Companies = c("Vertex Pharmaceuticals & CRISPR Therapeutics", "Bluebird Bio"),
  Technology = c("CRISPR/Cas9 gene editing", "Lentiviral vector gene addition"),
  Mechanism = c("Edits genome to reactivate fetal hemoglobin (HbF) production", 
                "Adds modified gene to produce HbAT87Q (anti-sickling hemoglobin)"),
  FDA_Approval_Date = c("December 8, 2023", "December 8, 2023"),
  Eligible_Population = c("Patients ≥12 years with recurrent VOCs", 
                          "Patients ≥12 years with history of VOEs"),
  Clinical_Efficacy = c("93.5% (29/31) achieved freedom from severe VOCs", 
                        "88% (28/32) achieved complete resolution of VOEs"),
  Safety_Concerns = c("Myeloablative conditioning required; potential fertility impacts", 
                      "Hematologic malignancy risk (black box warning); myeloablative conditioning required"),
  Estimated_Cost = c("$2.2 million per patient", "$2+ million per patient")
)

# Create a formatted table using gt
scd_therapies_table <- gt(scd_gene_therapies) %>%
  tab_header(
    title = "FDA-Approved Gene Therapies for Sickle Cell Disease",
    subtitle = "Comparison of Key Characteristics (As of May 2025)"
  ) %>%
  cols_label(
    Therapy_Name = "Therapy Name",
    Companies = "Manufacturer",
    Technology = "Technology Platform",
    Mechanism = "Mechanism of Action",
    FDA_Approval_Date = "FDA Approval Date",
    Eligible_Population = "Eligible Population",
    Clinical_Efficacy = "Clinical Efficacy",
    Safety_Concerns = "Safety Concerns",
    Estimated_Cost = "Estimated Cost"
  ) %>%
  tab_style(
    style = list(
      cell_fill(color = "#e6f3ff"),
      cell_text(weight = "bold")
    ),
    locations = cells_column_labels()
  ) %>%
  tab_style(
    style = cell_text(weight = "bold"),
    locations = cells_body(columns = Therapy_Name)
  )

# Display the table
scd_therapies_table
FDA-Approved Gene Therapies for Sickle Cell Disease
Comparison of Key Characteristics (As of May 2025)
Therapy Name Manufacturer Technology Platform Mechanism of Action FDA Approval Date Eligible Population Clinical Efficacy Safety Concerns Estimated Cost
Casgevy (exagamglogene autotemcel) Vertex Pharmaceuticals & CRISPR Therapeutics CRISPR/Cas9 gene editing Edits genome to reactivate fetal hemoglobin (HbF) production December 8, 2023 Patients ≥12 years with recurrent VOCs 93.5% (29/31) achieved freedom from severe VOCs Myeloablative conditioning required; potential fertility impacts $2.2 million per patient
Lyfgenia (lovotibeglogene autotemcel) Bluebird Bio Lentiviral vector gene addition Adds modified gene to produce HbAT87Q (anti-sickling hemoglobin) December 8, 2023 Patients ≥12 years with history of VOEs 88% (28/32) achieved complete resolution of VOEs Hematologic malignancy risk (black box warning); myeloablative conditioning required $2+ million per patient
# Create a data frame for challenges in implementing these therapies
implementation_challenges <- data.frame(
  Challenge_Category = c("Clinical", "Clinical", "Access", "Access", "Access", "Long-term", "Long-term", "Research"),
  Challenge_Description = c(
    "Myeloablative conditioning toxicity and fertility preservation", 
    "Risk of clonal hematopoiesis (CH) mutations post-therapy", 
    "High cost ($2+ million per patient)",
    "Limited treatment centers (~40-50 in US only)",
    "Healthcare disparities affecting predominantly minority populations",
    "Uncertain durability beyond clinical trial periods",
    "Lifelong monitoring for potential malignancies required",
    "Discrepancies in CH research findings as highlighted in original text"
  )
)

# Create a challenges table
challenges_table <- gt(implementation_challenges) %>%
  tab_header(
    title = "Implementation Challenges for SCD Gene Therapies",
    subtitle = "Key Barriers to Widespread Adoption"
  ) %>%
  cols_label(
    Challenge_Category = "Category",
    Challenge_Description = "Challenge Description"
  ) %>%
  tab_style(
    style = list(
      cell_fill(color = "#fff0e6"),
      cell_text(weight = "bold")
    ),
    locations = cells_column_labels()
  ) %>%
  tab_style(
    style = cell_text(weight = "bold"),
    locations = cells_body(columns = Challenge_Category)
  )

# Display the challenges table
challenges_table
Implementation Challenges for SCD Gene Therapies
Key Barriers to Widespread Adoption
Category Challenge Description
Clinical Myeloablative conditioning toxicity and fertility preservation
Clinical Risk of clonal hematopoiesis (CH) mutations post-therapy
Access High cost ($2+ million per patient)
Access Limited treatment centers (~40-50 in US only)
Access Healthcare disparities affecting predominantly minority populations
Long-term Uncertain durability beyond clinical trial periods
Long-term Lifelong monitoring for potential malignancies required
Research Discrepancies in CH research findings as highlighted in original text